<?php
abstract class Person {
    protected $name;
    public function getName()
    {
        return $this->name;
    }
    abstract public function accept(State $visitor);
}